﻿


namespace Inovout.IdeaSoft.Model
{
    /// <summary>
    /// 类型信息
    /// </summary>
    public class TypeInfo : ElementInfo,ITypeInfo
    {
        /// <summary>
        /// 命名空间
        /// </summary>
        public string Namespace { get; internal set; }
        /// <summary>
        /// 全名
        /// </summary>
        public string FullName
        {
            get
            {
                return string.IsNullOrEmpty(Namespace) ? Name : string.Format("{0}.{1}", Namespace, Name);
            }
        }
        public ModifyAccess ModifyAccess { get; internal set; }
        public ModifyScope ModifyScope { get; internal set; }
        /// <summary>
        /// 成员集合
        /// </summary>
        public MemberInfo[] Members { get;internal set; }
        /// <summary>
        /// 关系集合
        /// </summary>
        public RelationInfo[] Relations { get; internal set; }
        /// <summary>
        /// 特定集合
        /// </summary>
        public AttributeInfo[] Attributes { get; internal set; }
        /// <summary>
        /// 所属的包
        /// </summary>
        public PackageInfo Package { get; internal set; }
    }
}
